A. Field of Invention
The present invention pertains generally to correcting the alignment of display devices and more particularly to digital zone control for correction and alignment of multimode display devices. This is achieved by determining the mapping of correction values for physical locations on a screen display using a high speed manner of generating incremental correction values between the physically located correction values and mapping the incremental correction values to scan lines using an approximation technique.
B. Definitions
"Address Quotient Value" means the physical division number divided by the number of scan lines of an image, for vertical geometry corrections, or by the number of pixels in a scan line, for horizontal geometry corrections.
"Physical Division Number" means the total number of physical divisions over that portion of the screen on which an image appears or that portion for which an image alignment is desired.
"Binary Order of Magnitude Number" means a number selected from the series 10, 100, 1000, 10000, 100000, etc. in binary which is representative of the numbers 2, 4, 8, 16, 32, etc. in decimal. The number of physical divisions between adjacent group addresses is selected as a binary order of magnitude number.
"Binary Fractional Address" means the address or other identifying number that is associated with a physical division that does not include group address information.
"Binary Fractional Multiplication" means multiplying the difference correction value by one or more binary fractional numbers.
"Binary Fractional Number" means the value of one divided by a binary order of magnitude number.
"Correction Value" means a number or a magnitude of a correction signal.
"Correction Factor Parameter" includes various geometry and/or distortion characteristics of the cathode ray tube including horizontal size, raster rotation, vertical size, horizontal center, vertical center, pincushioning, vertical linearity, keystoning, convergence, etc., and various electron gun characteristics of the cathode ray tube including contrast, brightness, luminosity, focus, color balance, color temperature, electron gun cutoff, etc.
"Difference Correction Value" means the magnitude of the difference between two group correction values.
"Enabled Quotient Values" means the quotient values that are selected using the binary fractional address.
"End Address" means a physical location on a screen that includes a group end address and a binary fractional end address, or a start number plus a size number.
"Group Address" means the address or other identifying number that is associated with a particular group correction value.
"Group Correction Value" means a correction value for a specified physical location of a group on a screen.
"Image" means a display or raster.
"Incremental Correction Value" means the incremental amount of correction at a binary fractional address that is added to or subtracted from an adjacent group correction value to obtain a zone correction value.
"Parallel Binary Count Signal" means a series of parallel signals that each represent a decimal position of a binary number such that each signal may either have an on or off state.
"Physical Divisions" means a series of substantially equally spaced physical locations on a screen of a raster scanned display. A binary fractional number of physical divisions are selected between group addresses which may vary for different correction factor parameters. Physical divisions do not necessarily align with scan lines on the screen.
"Physical Location on a Screen" means a physical point, line or area on a display screen on which an image is displayed.
"Quotient Value" means all or a portion of an incremental correction value that is derived by dividing the difference correction value by a binary fractional number which is the equivalent of shifting the decimal position of the binary difference correction value. Quotient values are also produced by binary fractional multiplication.
"Start Address" means a physical location on a screen that includes an initial group address and an initial interpolation address, or a start number.
"Zone Address" means the address or other identifying number of a physical division that is associated with a particular zone correction value. The zone address may include a horizontal and/or vertical group address, and/or a horizontal and/or vertical binary fractional address.
"Zone Correction Value" means a correction value at a particular zone address.
C. Description of the Background
Display devices such as cathode ray tubes, projection televisions, laser image projectors, and other various types of raster scanned display devices typically require correction to alter correction parameters such as pincushioning, luminosity, convergence, keystoning, linearity, etc. Designers of cathode ray tube monitors have expended a great deal of effort in providing precisely wound deflection coils and circuitry for driving those coils with precisely shaped waveforms to minimize distortion of the various correction parameters.
More recently, digitally generated waveforms have been used to produce correction signals in an effort to more precisely control the alignment of the cathode ray tube and minimize the distortion of the various correction factor parameters. However, the generation of these correction waveforms using digital techniques requires the storage of a large amount of data in the form of correction values. As the desire for enhanced resolution of these correction waveforms increases, the storage requirements cause these systems to be less economically attractive. Additionally, certain correction factor parameters naturally require a very high resolution signal that necessitates a very large amount of correction value data. To date, it has been uneconomical to provide digitally generated correction waveforms for these correction factor parameters.
To reduce the storage requirements of the correction value data, various zone control techniques have been employed that have relied on scan line interpolation. Accordingly, correction values are calculated for various scan lines that are evenly dispersed throughout the scanned image and interpolated values are generated for scan lines between those points using various interpolation techniques. This has greatly reduced the amount of required storage. However, difficulties have been encountered in providing satisfactory interpolation devices. Typical interpolation engines use microprocessors or digital signal processors that are both expensive and normally too slow to process the interpolated correction values at the speed required to provide the interpolated data at the proper time. Hence, the many different techniques that have been proposed have generally not been implemented in a satisfactory fashion because of these limitations.
Typical interpolation engines have a preset number of correction values (group values) for any specific correction factor parameter. For example, to correct for pincushioning distortion, a typical interpolation engine may have 32 correction values corresponding to 32 different scan lines that are evenly spaced in the vertical direction. The typical approach used by interpolation engines is to divide the difference between adjacent correction values by the number of scan lines between those correction values to obtain an interpolated correction value for each scan line. A digital signal processor or microprocessor is used to perform that division process. For pincushioning corrections, it is desirable to generate these correction values for each scan line of the screen. In this manner, the interpolation engine avoids the storage of an excessive amount of data and, in theory, is able to generate the required amount of data to provide a precisely aligned image. Typical digital signal processors and microprocessors, however, are unable, in many instances, to generate these correction values fast enough to make corrections as the image is generated. This is especially true for corrections in the horizontal direction. The inability of microprocessors and digital signal processors to provide interpolated correction values fast enough is the result of the number of high-speed divisions that must be performed by these devices. These devices are not designed to perform high speed complex divisions and, as a result, are not able to provide the interpolated data as rapidly as it is needed.
Additionally, typical interpolation systems generate a full complement of interpolated correction values but may use only a portion of those values. Interpolation engines typically generate a full set of correction values from the top to the bottom of the screen, thereby covering areas where no image is present. Since only a portion of those values that are calculated are used, because the image only covers a portion of the screen, numerous calculations are made that are not necessary, which wastes valuable processing time which, in turn, limits the data that can be generated.
Further, prior implementations for generating digital correction waveforms have tied the correction waveforms to the scan lines of a specific video signal having a particular frequency, size and centering on a display screen. A change in the frequency, size and/or centering of the video image on the screen has heretofore required generation of an entirely new set of correction values which has required realignment using a vision system.
Also, since these prior implementations have tied the correction values to image scan lines, the same amount of interpolated correction data is generated for the reduced images. For example, an image that has been reduced to half of its normal size would have twice the resolution. Variations in resolution with image size results in a further waste of computing time.